home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1996-07-21 | 35.9 KB | 1,420 lines
; Photogenics Installer script. © Almathera 1994-6. All rights reserved. ; $VER: Photogenics_2_Floppy_Installer 1.0 (2.07.96) ; Authored & Hacked To Death by thp/©!truS'96 ; And now over to Tom with the weather. ; /**************************************************************************/ ; The "wurdZ": Complicated weirdshit, this. ; /**************************************************************************/ ; global messages (set #GOINGIN (cat "\n\nWelcome to the Photogenics 2 (TM) installation system\n\n\n\n" "Photogenics 2 requires approx. 7.2Mb of free disk space for a full install." "\n\n\n\nPhotogenics © 1994-6 Paul Nolan & Almathera Systems Ltd." " All Rights Reserved.") ) (set #TOOSMALLBOX-HELP (cat "\n\nWarning:\n\nInstalling Photogenics 2 on a machine" " with a hard drive but no extra FAST memory is *NOT*" " recommended due to the extra memory overheads of the hard" " drive.\n\n" " Adding extra FAST RAM to your machine will improve" " system performance by approximately 2 times, and" " allow you to work with much larger images in Photogenics.") ) (set #OLDBOX-HELP "\n You must be using at least KickStart 3.0 (V39) to install or run Photogenics!") (set #DISK "Please insert Photogenics 2 disk %s in any drive") (set #MAIN-PROMPT (cat "Which parts of Photogenics 2 do you wish to install?\n" "(Use the check-boxes to select, then hit Proceed)") ) (set #DOTHEPROGRAMFIRST (cat "\n\n\n You need to install the main Photogenics core" " before you can install the optional tutorial" " material! ;->\n\n" " Make sure the checkbox for 'Main program and online help'" " is ticked when the main options menu appears on starting this" " installer utility. <You can install everything else at the same" " time, by selecting both checkboxes and hitting Proceed>") ) (set #WAYS-TO-INSTALL (cat "Photogenics 2 is a modular program - once you've installed" " it, you can trim down the code sections you tend not" " to use regularly, for more efficient memory use and" " faster loading times. You'll need to install at least the" " core program and online help, though.\n\n" "The ColourFonts are the ones as used in the 'Text effects'" " tutorial. They're 8-colour anti-aliased fonts, and use a" " ramped-up greyscale palette. Be warned that they're BIG" " (around 900K) to install compared to most fonts, so make" " sure your hard drive has enough free space beforehand if" " you're installing them in your FONTS: directory on your" " Workbench partition.\n\n" "The Tutorial graphics are the raw image data as referred to" " in 'spray-along-with-us' sections of the on-line manual," " and need about 600K of disk." ) ) (set #CHOICE-MAIN "Main program & on-line help (5.7Mb)") (set #CHOICE-GFX "Tutorial ColourFonts & Images (1.5Mb)") (set #FINAL-MESSAGE (cat "\n\nNow go ahead and start Photogenics by double-clicking" " on its icon - this can be found in the drawer in which" " you installed the package.\n\n( %s )\n\n Spray on, gang.") ) (set #FONTS-INSTALLED "\n\nExample Colourfonts installed.") (set #GFX-INSTALLED "\n\nTutorial and example graphics installed.") ; main code messages (set #REINCARNATION (cat "\n\nA previous installation of the Photogenics package" " has been found in\n\n%s\n\nSelect 'Proceed' to update" " your installation with the new version, or 'Abort' to" " abort the install.") ) (set #PREFS-DELETE (cat "\n\nThe format of the Photogenics preference files" " has completely changed since pre-v2, and so they need" " to be deleted. When you next start Photogenics up," " you'll need to register with your new v2 number.\n\n" " Deleting: %s\n\n") ) (set #PREFS-HELP "\n\n\n\n\n\n Installing v2 requires you to delete this file.") (set #MAINPROG-PROMPT (cat "Where do you wish to install Photogenics?\n" "(A drawer named 'Photogenics' will be created in which the" " program will reside)") ) (set #PROBLEM-WITH-UNPACK (cat "\n\nError decompressing this section into your selected directory.\n" "Make sure your hard disk has enough free space in it, and if the" " files to be copied already exist, the existing files aren't protected" " from deletion or over-writing." ) ) (set #INSTALL-CORE "\n\nUnpacking the main Photogenics core...") (set #INSTALL-FPU "\n\nSetting up correct versions of maths-intensive code") (set #FPU-BLURB (cat "\nPhotogenics now has optimisations for certain maths-grunt" " parts of the code, namely the Warper (part of the file data/libs/pgs.library)," " and in the new Effects plug-in system, Fractal, Wave and" " Perspective (which live in the data/Effects drawer)" "\n\nIf you've got a maths co-processor (FPU), there's" " specific versions of these files. Unfortunately, some RAM" " cards reply 'Yes' to the installer about an FPU when they" " don't have one." "\n\nIf the wrong code is installed, Photogenics won't start up.") ) (set #SCRATCH-PROMPT (cat "Where should Photogenics keep its temporary files?\n" "This should be in a FAST hard disk directory with LOTS" " of space.)") ) (set #SCRATCH-HELP (cat "\nWith Photogenics 2 now using virtual memory as well as the" " original temporary files for exchanging with other packages," " the system now needs PGStemp: assigned to a large fast hard" " disk [have at least 2 times the size of the largest image" " you'll be working with as spare disk, as a guide], as well" " as the original Photogenics: assignment\n\n" "The installer will add the required lines to your s:User-Startup" " file for you.") ) (set #PGXDIR "Creating Photogenics directory...") (set #PGX-SCRATCHPROMPT "Creating the directory \n%s\n for Photogenics temporary files...") (set #PGX-FONT-PROMPT "Installing Photogenics font in FONTS:") (set #GENIXFONT-HELP (cat "\n\n\n\n\nInstalling Photogenics font into FONTS: - this is the" " internal font used by the program.") ) (set #PGX-SCRUB "\n\nDeleting redundant program code:\n\n%s\n\n") (set #PGX-ENVARC "Creating Photogenics directory in ENVARC:...") (set #PGX-ENV "Creating Photogenics directory in ENV:...") (set #PGX-ASL "Checking and updating ASL.library, if needed...") (set #PGX-DISKFONT "Checking and updating DiskFont.library, if needed...") (set #PGX-SETPATCH "Checking and updating SetPatch. Photogenics *requires* v40.16") (set #PGX-PICDT "Checking and updating picture.datatype to v42.1, if needed...") (set #PGX-ZGIF "Checking and updating ZGIF.datatype. Photogenics *requires* v39.18") (set #INSTALL-WGT-PROMPT (cat "\n\nUnpacking the Widget subsystem..." "\n\nThe Widget library suite is our secret weapon against certain" " cumbersome, inefficient, unstable and bloated third-party GUI" " systems...") ) (set #INSTALL-DATA "\n\nUnpacking Photogenics 2 Data & Storage heirarchy...") (set #INSTALL-FX "\n\nUnpacking Photogenics 2 effects modules...") (set #INSTALL-GIO "\n\nUnpacking Photogenics 2 GIO modules...") (set #INSTALL-LIB "\n\nUnpacking Photogenics 2 support libraries...") (set #INSTALL-MODE "\n\nUnpacking Photogenics 2 paintmodes...") (set #WGT-GFX (cat "\n\nThe Widget run-time system has 2 sets of graphics" " available for its imagery, the 'XIX' set [named after the" " original creator of Widget] is suitable for larger," " 800x600-and-up high-resolution screens, and the 'Gad-u-like'" " set [a spoof of the Amiga's gadtools library] which is more" " suited to standard screen resolutions.\n\n" "Which set would you like to install?") ) ; on-line help W3 supprt tools (set #W3-TOOL-INFO (cat "\nFor the on-line help to operate from hard disk, you need to have" " a WWW browser installed on your system and Photogenics configured" " so that said browser can be launched at the HELP key and look for" " the file 'PgsCD:help/Pgs.HTM'. In-house, we prefer the excellent AWeb" " program, and have set up the configuration for instant use with" " Photogenics, however if you have an alternative browser of preference," " you can configure Photogenics to use that instead.") ) (set #W3-AWEB "Install supplied AWeb") (set #W3-CUSTOM "Configure your own") (set #W3-INSTALLAWEB "\n\nUnpacking the Photogenics-setup AWeb...") (set #W3-CUSTOM-BREED (cat "\n\nOkay, if you've got AWeb already installed on your system" " the installer can build a script to use your existing AWeb setup" " - if you're not using AWeb, you'll have to roll your own. (Shrug," " use something decent)" "\n\nRight, then. What've you got?") ) (set #HUNT-THE-AWEB "'Take me to your AWeb'\n\n(IE select your AWeb main binary with the file-requester)") (set #AWEB-LAUNCHER "\n\nCreating the script 'Photogenics:AWebHelp'") (set #AWEB-LAUNCHER-MADE (cat "\n\n\nOkay, you'll need to set the 'Web Browser Command' to point to" " 'Photogenics:AWebHelp' in the Photogenics 2 preferences page -" " by default it points to 'PgsCD:Aweb/AWeb'. Do this once you've" " started the program up and entered your registration number.") ) (set #W3-YOURE-MAD (cat "\n\n\nOkay, to get the on-line help working, you'll need to configure Photogenics to look for" " your web browser and open the file 'PgsCD:help/Pgs.HTM' - you do this with the" " with the 'Web Browser command' section of the prefs page available via the menu item" " 'Preferences' in Photogenics's Settings menu. You can set this up as an AmigaDOS" " or Rexx script to run as well as a program - consult your Web browser's documentation" " for start-up options.") ) (set #INSTALL-HELPTEXT-PROMPT "\n\nUnpacking the text for the on-line help...") ; Tutorial gfx messages (set #GFXDIR-PROMPT (cat "Where do you wish to install the tutorial graphics?" " (The specified directory wil be created for them if your" " selection doesn't exist)") ) (set #MAKE-GFXDIR "Creating a directory for the tutorial graphics...") (set #GFXCOPY-PROMPT "\n\nInstalling the tutorial source graphics...") ; colourfonts messages (set #COLOURFONT-PROMPT (cat "\n\n\nDo you wish to install the example ColourFonts in the" " default system font directory FONTS: which is normally" " assigned to sys:Fonts?") ) (set #WHEREFONT-HELP (cat "\nThe Photogenics 2 'Text' GIO loader and the AddText functions" " can use Amiga ColourFonts which tend to be BIG. These ones" " are over 900K, so you can install them away from the System" " disk <useful if you keep Colourfonts in a special drawer" " or you're running low on System space>. Keeping them in 'FONTS:'" " is simplest but unwieldy, putting them in another directory means" " you use the Rexx script ColourFonts.rx to manage banks of fonts," " but it keeps disk organisation more sane.") ) (set #ELSEWHERE-PROMPT "Okay, choose a directory.\n") (set #MAKEFONTDIR-PROMPT "Creating the directory '%s' for the ColourFonts...") (set #INSTALL-COLFONTS "\n\nUnpacking the example ColourFonts...") ; userstartup messages (set #STARTUP-1 (cat "\n\n\nDo you want the installer to automatically make" " the required changes for %s to S:User-StartUP?\n\n" "If you don't, it will create a script file containing" " commands which you should add to your S:User-StartUP script.") ) (set #STARTUP-2 (cat "\n\n\nNow adding the %s lines to S:User-StartUP.\n\n" "These are:\n\n%s") ) (set #STARTUP-3 (cat "\n\n\n\nThe file:\n\n%s\n\nhas been " "generated, which you must add to S:User-StartUP manually.") ) ; nuking-for-current messages (set #WAY-COOL-NEW-STUFF (cat "\n\n\n\nIn the version 2 update, there's various new features, tweaks, freaks" " and updates to some of the paintmodes and GIOs - we're about to" " delete one of the obsolete files. This process will take" " approximately 4 of your Earth 'minutes'. Thank you.") ) (set #BACKWARDS-COMPATIBILITY (cat "\n\n\nIf you don't upgrade your current installation," " you won't be able to use any future expansion modules" " which will rely on the extra functionality of the" " Photogenics revision supplied on this disk set.\n\n\n" "So, like, upgrade. It won't hurt. Honest. ;->\n") ) ; ************* PLEASE COPY THIS PROCEDURE ALONG WITH THE STRINGS IT USES ; ************* TO THE INSTALLER SCRIPT OF YOUR CLASSACT APPLICATION. ; ************* IT WILL TAKE CARE OF INSTALLING THE CLASSACT CLASSES YOU ; ************* PROVIDED WITH YOUR APPLICATION TO THE USER'S SYSTEM. ; ClassAct installation procedure V 1.4 (23.12.95) by Osma Ahvenlampi ; percentage of the size of included ClassAct classes versus the whole ; distribution (ie. total "complete" percentage after ClassAct is installed) ; ClassAct installer scripts (set #classdest-prompt "Please select the directory where you want the ClassAct classes installed.\n(See help for details)") (set #classdest-help (cat "ClassAct is a GUI toolkit consisting of shared BOOPSI classes.\n\nThis player requires some of the ClassAct classes installed on your system. " (if v39 (cat "OS 3.0 has a standard directory for BOOPSI classes, the SYS:Classes directory. It is recommended that you install ClassAct there.") (cat "OS 2.0 does not have a standard place for disk resident BOOPSI classes. On OS 3.0 these classes are stored in the SYS:Classes directory. It is recommended that you create this directory and install ClassAct there.\nThis directory must be added in the LIBS: assign. This can be done by placing the command\nAssign >NIL: LIBS: SYS:Classes ADD\nto User-Startup. This installer will do this for you.") ) ) ) (set #classes-020 "Do you want to use the OS 3.0, 020 optimised version of ClassAct?") (set #help-020 "Some ClassAct libraries have versions optimised for use on 020 or better equipped OS 3.0 or later machines. If your Amiga is such equipped, you should install these. The 68000/2.0 versions will also work, but are slightly slower.") (set #noclasses-message "The directory you selected for your ClassAct classes is not a part of the LIBS: assign.\n\nIt is necessary to add this assign so that the classes will be found properly.") (set #creating-dir "Creating directory ") (set #usbackup-prompt "User-Startup will now be backed up.") (set #usbackup-help "This installer will next make a modification in User-Startup. Before doing this the old User-Startup will be backed up to S:User-Startup.old") (set #adding-1 "Adding ") (set #adding-2 " to LIBS: assign\n") (set #adding-help "This is necessary so that the custom classes can be found.") (set #junod-button "It seems you have a late Commodore 'V42' button.gadget installed on your system.\n\nClassAct's button.gadget is far more capable than this gadget, and we recommend that you replace it. The ClassAct button.gadget is backwards compatible to the Commodore gadget. Do you wish to back up the Commodore gadget and replace it with the ClassAct version?") (set #junod-backed "The Commodore 'V42' button.gadget has been backed up with the name button.gadget.v42.\n\nThe ClassAct button.gadget will be installed in its place.") (set #junod-kept "The Commodore 'V42' button.gadget was not replaced with the more capable ClassAct version.\n\nPrograms depending on the availability of ClassAct-only features will be likely to work wrong.") (procedure install-classact ; call this procedure to copy the classes included in the Classes directory ; in your distribution dir. (if (exists "Photogenics2_5:Classes") ; The archive contains a ClassAct library update. ( (set comp-dest (/ (* classact-complete 2) 10)) (set comp-libs (/ (* classact-complete 3) 10)) (set comp-dirs (/ (* classact-complete 4) 10)) (set comp-junod (/ (* classact-complete 5) 10)) (set comp-020 (/ (* classact-complete 6) 10)) (set comp-gad (/ (* classact-complete 8) 10)) (set comp-im (/ (* classact-complete 9) 10)) ; has the user installed ClassAct in CLASSACT: ? (set @classact-dest (getassign "CLASSACT" "A")) (if (= @classact-dest "") (set @classact-dest "SYS:Classes")) ; is ClassAct already in SYS:Classes ? (if (or (not (exists (tackon @classact-dest "Gadgets/layout.gadget") (noreq))) (= @user-level 2)) ; no, ask where it should be placed (set @classact-dest (askdir (prompt #classdest-prompt) (help #classdest-help) (default @classact-dest) (newpath) ) ) ) (if (<> (run (cat "Photogenics2_5:C/CheckAssign LIBS: " @classact-dest)) 0) ( (message #noclasses-message) (if (not (exists @classact-dest)) (makedir @classact-dest (prompt (cat #creating-dir @classact-dest))) ) (set @addassign (cat "Assign >NIL: LIBS: " @classact-dest " ADD\n")) (startup "CLASSACT" (command @addassign) (prompt (cat #adding-1 @classact-dest #adding-2)) (help #adding-help) ) (run (@addassign)) ) ) (set @classact-gadgets (tackon @classact-dest "Gadgets")) (set @classact-images (tackon @classact-dest "Images")) (if (not (exists @classact-gadgets (noreq))) (makedir @classact-images (prompt (cat #creating-dir @classact-gadgets)) ) ) (if (not (exists @classact-images (noreq))) (makedir @classact-images (prompt (cat #creating-dir @classact-images)) ) ) (if (exists "SYS:Classes/Gadgets/button.gadget") (if (< 40 (/ (getversion "SYS:Classes/Gadgets/button.gadget") 65536)) (if (askbool (prompt #junod-button) (help @askbool-help) (default 1)) ( (rename "SYS:Classes/Gadgets/button.gadget" "SYS:Classes/Gadgets/button.gadget.v42") (message #junod-backed) ) (message #junod-kept) ) ) ) (if (exists "Photogenics2_5:Classes/Gadgets/layout.gadget.020") (set classes-020 (askbool (prompt #classes-020) (help #help-020) (default (and cpu020 v39)))) (set classes-020 0) ) (foreach "Photogenics2_5:Classes/Gadgets" "#?.gadget" ( (set thislib (tackon "Photogenics2_5:Classes/Gadgets" @each-name)) (if (and classes-020 (exists (cat thislib ".020"))) (set thislib (cat thislib ".020")) ) (copylib (source thislib) (dest @classact-gadgets) (newname @each-name) (prompt (cat #installing @each-name)) (help #classdest-help) (optional "force" "askuser") ) ) ) (foreach "Photogenics2_5:Classes/Images" "#?.image" ( (set thislib (tackon "Photogenics2_5:Classes/Images" @each-name)) (if (and classes-020 (exists (cat thislib ".020"))) (set thislib (cat thislib ".020")) ) (copylib (source thislib) (dest @classact-images) (newname @each-name) (prompt (cat #installing @each-name)) (help #classdest-help) (optional "force" "askuser") ) ) ) (foreach "Photogenics2_5:Classes" "#?.class" ( (set thislib (tackon "Photogenics2_5:Classes" @each-name)) (if (and classes-020 (exists (cat thislib ".020"))) (set thislib (cat thislib ".020")) ) (copylib (source thislib) (dest @classact-dest) (newname @each-name) (prompt (cat #installing @each-name)) (help #classdest-help) (optional "force" "askuser") ) ) ) ) ) ) ; ************** END OF CLASSACT INSTALL PROCEDURE. COPY THE BLOCK ABOVE ; ************** TO YOUR CLASSACT APPLICATION INSTALLER. ; /**************************************************************************/ ; Right, ditching old kack we don't need... ; /**************************************************************************/ (procedure scrub ( (if (> (exists (tackon BINARIES OLDKACK) ) 0 ) ( (delete (tackon BINARIES OLDKACK) (prompt (#PGX-SCRUB (tackon BINARIES OLDKACK) )) (help #WAY-COOL-NEW-STUFF) (confirm) ) ) ) ) ) ; /**************************************************************************/ ; there's something dead in here ; /**************************************************************************/ (procedure do-the-startup ( (if (askbool (prompt (#STARTUP-1 SECTION-NAME) ) (help @startup-help)) (startup SECTION-NAME (prompt (#STARTUP-2 SECTION-NAME ADD-TO-USER-STARTUP) ) (help @startup-help) (command ADD-TO-USER-STARTUP)) ( (textfile (dest (tackon OUTPUT STARTUP-FILE)) (append ADD-TO-USER-STARTUP)) (message (#STARTUP-3 (tackon OUTPUT STARTUP-FILE)) ) ) ) ) ) ; /**************************************************************************/ ; Who? What? Where? ; /**************************************************************************/ (procedure hunt_the_wiener ( (set OLDINSTALL (getassign "photogenics")) (if (AND (= OLDINSTALL "") (< (IN WHATTOINSTALL 0) 1 ) ) ( (message #DOTHEPROGRAMFIRST ) (exit (quiet) ) ) (set RETURNCODE OLDINSTALL) ) ) ) ; /**************************************************************************/ ; Install the core program and modules ; /**************************************************************************/ (procedure corebinaries ( (set NEWCODE (+ NEWCODE 2)) (if (= (getassign "WORK" "v") "" ) (set NORMAL @default-dest) (set NORMAL "WORK:") ) (set CHIP (database "graphics-mem") ) (set TOTAL (database "total-mem") ) (set MATHS (database "fpu") ) (if ( <= (- TOTAL CHIP) 0 ) ( (message #TOOSMALLBOX-HELP) ) ) (hunt_the_wiener) (set WHEREBINARIES RETURNCODE) (if (= WHEREBINARIES "") ( (set BINARIES (askdir (prompt #MAINPROG-PROMPT) (help @askdir-help) (default NORMAL) (disk) ) ) (set BINARIES (tackon BINARIES "Photogenics")) ) ( (set BINARIES WHEREBINARIES) (set NEWINSTALL (askbool (prompt (#REINCARNATION BINARIES)) (help #BACKWARDS-COMPATIBILITY) (choices "Proceed" "Abort") ) ) (if (= 0 NEWINSTALL) ( (exit (quiet)) ) ) ) ) (set @default-dest BINARIES) (set PGX-SCRATCH (askdir (prompt #SCRATCH-PROMPT) (help #SCRATCH-HELP) (default (tackon @default-dest "Temporary")) (newpath) (disk) ) ) (set ADD-TO-USER-STARTUP (cat "assign photogenics: \"" BINARIES "\"\nassign PGStemp: \"" PGX-SCRATCH "\"\n")) ; Copying the main bit... (if ( < (exists BINARIES (noreq) ) 2) (makedir BINARIES (prompt #PGXDIR) (help @makedir-help) (infos) ) ) (if ( < (exists PGX-SCRATCH (noreq) ) 2) (makedir PGX-SCRATCH (prompt (#PGX-SCRATCHPROMPT (PGX-SCRATCH))) (help @makedir-help) ) ) ; ENV: is now used for all preference files. GIO and main code... (if ( < (exists "envarc:Photogenics" (noreq) ) 2) ( (makedir "envarc:Photogenics" (prompt #PGX-ENVARC) (help @makedir-help) ) (makedir "env:Photogenics" (prompt #PGX-ENV) (help @makedir-help) ) ) ) (if (exists "ENVARC:Photogenics/preferences-se" (noreq)) ( (delete "ENVARC:Photogenics/preferences-se" (prompt (#PREFS-DELETE "ENVARC:Photogenics/preferences-se")) (help #PREFS-HELP) (confirm) ) (delete "ENV:Photogenics/preferences-se" (prompt (#PREFS-DELETE "ENV:Photogenics/preferences-se")) (help #PREFS-HELP) (confirm) ) ) ) (copyfiles (prompt "Installing DiGiTaL CoRRuPTioN Reg #...") (help @copyfiles-help) (source "Photogenics2_1:prefs") (dest "env:Photogenics") (confirm) ) (copyfiles (prompt "Installing DiGiTaL CoRRuPTioN Reg #...") (help @copyfiles-help) (source "Photogenics2_1:prefs") (dest "envarc:Photogenics") ) (if (= 1 (exists (tackon BINARIES "Data/Preferences") (noreq))) ( (delete (tackon BINARIES "Data/Preferences") (prompt #PREFS-DELETE) (help #PREFS-HELP) (confirm) ) ) ) ; Because of Installer following case of the previous file, and GIOs ; being case sensitive, the only way to be reliable is to zap the lot... (set OLDKACK "Data/Paintmodes/Flip-X") (scrub) (set OLDKACK "Data/Paintmodes/Flip-Y") (scrub) (set OLDKACK "Data/Paintmodes/AddDust") (scrub) (set OLDKACK "Data/Paintmodes/NegBright") (scrub) (set OLDKACK "Data/Paintmodes/LimitMax") (scrub) (set OLDKACK "Data/Paintmodes/LimitMin") (scrub) (set OLDKACK "Data/Paintmodes/HeavyBlur") (scrub) (set OLDKACK "Data/Paintmodes/Maximum") (scrub) (set OLDKACK "Data/Paintmodes/Minimum") (scrub) (set OLDKACK "Data/Paintmodes/Highlights") (scrub) (set OLDKACK "Data/Paintmodes/Lowlights") (scrub) (set OLDKACK "Data/GIO/ACBM.gio") (scrub) (set OLDKACK "Data/GIO/AmigaScreen.gio") (scrub) (set OLDKACK "Data/GIO/Ascii-Art.gio") (scrub) (set OLDKACK "Data/GIO/Backdrop.gio") (scrub) (set OLDKACK "Data/GIO/BMP.gio") (scrub) (set OLDKACK "Data/GIO/CDXL.gio") (scrub) (set OLDKACK "Data/GIO/ColourNoise.gio") (scrub) (set OLDKACK "Data/GIO/CyBERgraphics.gio") (scrub) (set OLDKACK "Data/GIO/GIF.gio") (scrub) (set OLDKACK "Data/GIO/HAM8.gio") (scrub) (set OLDKACK "Data/GIO/IFFDeep.gio") (scrub) (set OLDKACK "Data/GIO/ILBM.gio") (scrub) (set OLDKACK "Data/GIO/Img.gio") (scrub) (set OLDKACK "Data/GIO/JPEG.gio") (scrub) (set OLDKACK "Data/GIO/Opal_HIRES.gio") (scrub) (set OLDKACK "Data/GIO/Opal_LORES.gio") (scrub) (set OLDKACK "Data/GIO/Pattern.gio") (scrub) (set OLDKACK "Data/GIO/PBM.gio") (scrub) (set OLDKACK "Data/GIO/PCD.gio") (scrub) (set OLDKACK "Data/GIO/Picasso-II.gio") (scrub) (set OLDKACK "Data/GIO/Plasma.gio") (scrub) (set OLDKACK "Data/GIO/PrefsPrinter.gio") (scrub) (set OLDKACK "Data/GIO/QRT.gio") (scrub) (set OLDKACK "Data/GIO/QuadAnim.gio") (scrub) (set OLDKACK "Data/GIO/Raw.gio") (scrub) (set OLDKACK "Data/GIO/RGB8.gio") (scrub) (set OLDKACK "Data/GIO/RGBN.gio") (scrub) (set OLDKACK "Data/GIO/Ripples.gio") (scrub) (set OLDKACK "Data/GIO/Sculpt.gio") (scrub) (set OLDKACK "Data/GIO/ShowHam8.gio") (scrub) (set OLDKACK "Data/GIO/Streaks.gio") (scrub) (set OLDKACK "Data/GIO/Targa.gio") (scrub) (set OLDKACK "Data/GIO/Text.gio") (scrub) (set OLDKACK "Data/GIO/VLab.gio") (scrub) (set OLDKACK "Data/GIO/WhiteNoise.gio") (scrub) ; Okay, we're in the clear. Nuking from orbit, it's the only way... ; main binaries (askdisk (prompt (#DISK "2")) (dest "Photogenics2_2") (help @askdisk-help) ) (makeassign "pgs_temp" BINARIES) (working #INSTALL-CORE) (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_2:PgsCORE.lha")) (if ( <> PACKERROR 0) ( (abort #PROBLEM-WITH-UNPACK) ) ) (working #INSTALL-DATA) (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_2:PgsDATA.lha")) (if ( <> PACKERROR 0) ( (abort #PROBLEM-WITH-UNPACK) ) ) (makeassign "pgs_temp" (tackon BINARIES "Data")) (working #INSTALL-FX) (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_2:PgsFX.lha")) (if ( <> PACKERROR 0) ( (abort #PROBLEM-WITH-UNPACK) ) ) (working #INSTALL-GIO) (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_2:PgsGIO.lha")) (if ( <> PACKERROR 0) ( (abort #PROBLEM-WITH-UNPACK) ) ) (working #INSTALL-LIB) (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_2:PgsLIB.lha")) (if ( <> PACKERROR 0) ( (abort #PROBLEM-WITH-UNPACK) ) ) (working #INSTALL-MODE) (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_2:PgsMODE.lha")) (if ( <> PACKERROR 0) ( (abort #PROBLEM-WITH-UNPACK) ) ) (askdisk (prompt (#DISK "1")) (dest "Photogenics2_1") (help @askdisk-help) ) (message #FPU-BLURB) (if (= MATHS "NOFPU") (set #FPU-PROMPT (cat "\n\n\nHmmmmm. The installer reckons you've not got an" " FPU installed in your machine. Is this correct?") ) (set #FPU-PROMPT (cat "\n\n\nArhar. The installer reckons you've got an FPU" " installed and activated in your machine. Is this" " correct?") ) ) (set FPU (askbool (prompt #FPU-PROMPT) (help #FPU-BLURB) (choices "No FPU installed" "FPU installed") ) ) (if (= 1 FPU) ( (makeassign "pgs_temp" (tackon BINARIES "Data") ) (working #INSTALL-FPU) (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_1:PgsDATAFFP.lha")) (if ( <> PACKERROR 0) ( (abort #PROBLEM-WITH-UNPACK) ) ) ) ) (if (= (exists "FONTS:Photogenics.font" (NOREQ)) 0) ( (copyfiles (prompt #PGX-FONT-PROMPT) (help #GENIXFONT-HELP) (source "Photogenics2_1:Fonts") (dest "fonts:") (pattern "Photogenics#?") (fonts) (confirm) ) ) ) ; And other application installers crap up the system libraries sometimes... (run ("Protect libs:asl.library +RWED")) (copylib (prompt #PGX-ASL) (help @copylib-help) (source "Photogenics2_1:libs/asl.library") (dest "libs:") (confirm) ) (run ("Protect libs:diskfont.library +RWED")) (copylib (prompt #PGX-DISKFONT) (help @copylib-help) (source "Photogenics2_1:libs/diskfont.library") (dest "libs:") (confirm) ) (run ("Protect c:SetPatch +RWED")) (copylib (prompt #PGX-SETPATCH) (help @copylib-help) (source "Photogenics2_1:c/SetPatch") (dest "c:") (confirm) ) (run "c/SetPatch QUIET") (set WGTGFXSET (askbool (prompt #WGT-GFX) (help #WGT-GFX) (choices "Gad-u-like" "XIX") ) ) ; Widget runtime versions (makeassign "pgs_temp" "sys:Classes") (working #INSTALL-WGT-PROMPT) (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_1:WidgetCORE.lha")) (if ( <> PACKERROR 0) ( (abort #PROBLEM-WITH-UNPACK) ) ) (if (= 0 WGTGFXSET) ( (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_1:WidgetXIX.lha")) (if ( <> PACKERROR 0) ( (abort #PROBLEM-WITH-UNPACK) ) ) ) ( (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_1:WidgetGUL.lha")) (if ( <> PACKERROR 0) ( (abort #PROBLEM-WITH-UNPACK) ) ) ) ) (set SECTION-NAME "Photogenics") (set OUTPUT BINARIES) (set STARTUP-FILE "add-to-user-startup") (do-the-startup) (makeassign "photogenics" BINARIES) (makeassign "PGStemp" PGX-SCRATCH) ) ) ; /**************************************************************************/ ; htthp://argh.hit.windows.95.die.pain.death.stab.pain.clank ; /**************************************************************************/ (procedure online-help ( (hunt_the_wiener) (set BINARIES RETURNCODE) (set @default-dest BINARIES) (makeassign "pgs_temp" (tackon BINARIES "Data")) (working #INSTALL-HELPTEXT-PROMPT) (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_1:PgsTEXT.lha")) (if ( <> PACKERROR 0) ( (abort #PROBLEM-WITH-UNPACK) ) ) (askdisk (prompt (#DISK "3")) (dest "Photogenics2_3") (help @askdisk-help) ) (copyfiles (prompt "Installing the on-line help graphics...") (help @copyfiles-help) (source "Photogenics2_3:") (dest BINARIES) (all) ) (askdisk (prompt (#DISK "4")) (dest "Photogenics2_4") (help @askdisk-help) ) (copyfiles (prompt "Installing the on-line help graphics...") (help @copyfiles-help) (source "Photogenics2_4:") (dest BINARIES) (all) ) (askdisk (prompt (#DISK "5")) (dest "Photogenics2_5") (help @askdisk-help) ) (copyfiles (prompt "Installing the on-line help graphics...") (help @copyfiles-help) (source "Photogenics2_5:data") (dest (tackon BINARIES "data") ) (all) ) (set SECTION-NAME "Photogenics-HELP") (set OUTPUT BINARIES) (set STARTUP-FILE "add-help-to-user-startup") (set ADD-TO-USER-STARTUP (cat "assign pgscd: photogenics:data")) (do-the-startup) (makeassign "pgscd" (tackon BINARIES "Data")) (set W3TOOL (askbool (prompt #W3-TOOL-INFO) (help #W3-TOOL-INFO) (choices #W3-AWEB #W3-CUSTOM ) ) ) (if (= 1 W3TOOL) ( (makeassign "pgs_temp" (tackon BINARIES "Data")) (working #W3-INSTALLAWEB) (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_5:AWeb.lha")) (if ( <> PACKERROR 0) ( (abort #PROBLEM-WITH-UNPACK) ) ) ; okay, ZGif datatype and picture class for AWeb support (copylib (prompt #PGX-PICDT) (help @copylib-help) (source "Photogenics2_5:Classes/Datatypes/picture.datatype") (dest "sys:Classes/Datatypes") (confirm) ) (copylib (prompt #PGX-ZGIF) (help @copylib-help) (source "Photogenics2_5:Classes/Datatypes/gif.datatype") (dest "sys:Classes/Datatypes") (confirm) ) (copyfiles (prompt #PGX-ZGIF) (help @copylib-help) (source "Photogenics2_5:devs/DataTypes/GIF") (dest "devs:Datatypes") (confirm) (infos) ) (install-classact) ) ( (set EXTERNAL (askbool (prompt #W3-CUSTOM-BREED) (help #W3-CUSTOM-BREED) (choices "AWeb" "Something Else") ) ) (if (= 1 EXTERNAL) ( (set AWEBPATH (askfile (prompt #HUNT-THE-AWEB) (help @askfile-help) (default @default-dest) ) ) (textfile (prompt #AWEB-LAUNCHER) (help #AWEB-LAUNCHER) (dest (tackon BINARIES "AWebHelp")) (append "Stack 10000\n") (append ("\"%s\" LOCAL pgscd:help/pgs.htm\n" AWEBPATH)) (confirm) ) (run ("Protect %s +S" (tackon BINARIES "AWebHelp") )) (message #AWEB-LAUNCHER-MADE) ) ( (message #W3-YOURE-MAD) ) ) ) ) ) ) ; /**************************************************************************/ ; Install the ColourFonts ; /**************************************************************************/ (procedure colourfonts ( (hunt_the_wiener) (set WHEREFONT RETURNCODE) (set FONTCHOICE (askbool (prompt #COLOURFONT-PROMPT) (help #WHEREFONT-HELP) ) ) (if (= 0 FONTCHOICE) ( (set WHEREFONT (askdir (prompt #ELSEWHERE-PROMPT) (help @askdir-help) (default @default-dest) (newpath) (disk) ) ) (if ( < (exists WHEREFONT (noreq) ) 2) (makedir WHEREFONT (prompt (#MAKEFONTDIR-PROMPT WHEREFONT)) (help @makedir-help) (confirm) ) ) ) ( (set WHEREFONT "fonts:") ) ) (makeassign "pgs_temp" WHEREFONT) (working #INSTALL-COLFONTS) (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_6:ColourFonts.lha")) (if ( <> PACKERROR 0) (message #PROBLEM-WITH-UNPACK) ) ) ) ; /**************************************************************************/ ; And the test graphics. "Two tits in a canoe" ; /**************************************************************************/ (procedure tutorial-graphics ( (hunt_the_wiener) (set GRAPHICS (tackon RETURNCODE "Graphics")) (set GRAPHICS (askdir (prompt (#GFXDIR-PROMPT GRAPHICS-DIR ) ) (help @askdir-help) (default GRAPHICS) (newpath) (disk) ) ) (if ( < (exists GRAPHICS (noreq) ) 2) (makedir GRAPHICS (prompt #MAKE-GFXDIR) (help @makedir-help) (confirm) (infos) ) ) (set @default-dest RETURNCODE) (askdisk (prompt (#DISK "6")) (dest "Photogenics2_6") (help @askdisk-help) ) (copyfiles (prompt #GFXCOPY-PROMPT) (help @copyfiles-help) (source "Photogenics2_6:Graphics") (dest GRAPHICS) (all) ) ) ) ; /**************************************************************************/ ; Oh no, it's the Central Cavern! ; /**************************************************************************/ (if (< (/ (getversion) 65536) 39) ((abort #OLDBOX-HELP)) ) (run "Avail >nil: <nil: FLUSH") (message #GOINGIN) (copyfiles "Photogenics2_1:c/Lhex" (source "c/lhex") (dest "ram:") (safe) ) (set NEWCODE 0) (set WHATTOINSTALL (askoptions (prompt #MAIN-PROMPT) (help #WAYS-TO-INSTALL) (choices #CHOICE-MAIN #CHOICE-GFX) (default 1) ) ) (if (= WHATTOINSTALL 0) (exit (quiet)) ) (if (= (IN WHATTOINSTALL 0) 1) ( (corebinaries) (online-help) (set FINALREPLY (#FINAL-MESSAGE BINARIES) #OLHELP-INSTALLED) ) ) (if (= (IN WHATTOINSTALL 1) 2) ( (tutorial-graphics) (colourfonts) (set FINALREPLY (cat FINALREPLY #GFX-INSTALLED #FONTS-INSTALLED)) ) ) (delete "ram:lhex" (safe) ) (makeassign "pgs_temp") (message FINALREPLY ) (exit (quiet))